#pragma once

#include <gtl/directui/manager.h>
#include <gtl/directui/state.h>

#pragma warning(push)
#pragma warning(disable: 4244)

namespace gtl
{

namespace dui
{

class states
	: public manager<states, 'stts'>
{
	auto_reg_to_the_factory();

public:
	states();
	virtual ~states();

public:
	virtual bool create(gtl::xml& node);

public:
	state_group* get_state(const gtl::tstr& /*name*/);

protected:
	std::vector<std::pair<gtl::tstr, state_group*>> m_states;
};

} // end of namespace dui

} // end of namespace gtl

#pragma warning(pop)